<HTML><HEAD><TITLE>cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(ic_edge_finder)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)</H1>
Cumulative constraint on specified tasks.
<DL>
<DT><EM>StartTimes</EM></DT>
<DD>List of start times for tasks (integer variables or integers)
</DD>
<DT><EM>Durations</EM></DT>
<DD>List of duration for tasks (integer variables or integers)
</DD>
<DT><EM>Resources</EM></DT>
<DD>List of resource uages by tasks (integer variables or integers)
</DD>
<DT><EM>ResourceLimit</EM></DT>
<DD>Maximum amount of resource available (integer)
</DD>
</DL>
<H2>Description</H2>
<P>
   A cumulative scheduling constraint. StartTimes, Durations and Resources
   are collections (a la collection_to_list/2) of equal size N of integer
   variables or integers.  ResourceLimit is an integer. The declarative
   meaning is:
   If there are N tasks, each starting at a certain start time, having
   a certain duration and consuming a certain (constant) amount of
   resource, then the sum of resource usage of all the tasks does not
   exceed ResourceLimit at any time.
</P><P>
   Any input variables which do not already have finite bounds will be
   given default bounds of -10000000 to 10000000.
</P><P>
   This constraint can propagate more information than the implementation
   in library(ic_cumulative) and library(cumulative).
</P>
<H2>See Also</H2>
<A HREF="../../lib/ic_edge_finder/disjunctive-2.html">disjunctive / 2</A>, <A HREF="../../lib/ic_edge_finder/cumulative-5.html">cumulative / 5</A>, <A HREF="../../lib/lists/collection_to_list-2.html">lists : collection_to_list / 2</A>, <A HREF="../../lib/edge_finder3/cumulative-4.html">edge_finder3 : cumulative / 4</A>, <A HREF="../../lib/ic_edge_finder3/cumulative-4.html">ic_edge_finder3 : cumulative / 4</A>, <A HREF="../../lib/edge_finder/cumulative-4.html">edge_finder : cumulative / 4</A>, <A HREF="../../lib/cumulative/cumulative-4.html">cumulative : cumulative / 4</A>, <A HREF="../../lib/ic_cumulative/cumulative-4.html">ic_cumulative : cumulative / 4</A>
</BODY></HTML>
